export default {
	//开启命名空间
	namespaced:true,
	state:()=>({
		//购物车中的商品属性
		cart:JSON.parse(uni.getStorageSync("cart") || "[]") 
	}),
	mutations:{
		addToCart(state,goods){
			//假如这个商品存在，那就把他的数量+1 如果不存在就把商品加入到这个数组中
			const findResult = state.cart.find((item)=>item.goods_id == goods.goods_id);
			console.log(findResult);
			if(!findResult){
				//不存在这个商品
				state.cart.push(goods);
			}else{
				//这里返回的是这个对象的引用对象,可以直接修改里面的值 
				findResult.goods_count++;
			}
			//不管是修改了数量还是新增了商品，都会本地持久化
			this.commit("m_cart/saveTostoresission");
		
		},
		//数据持久化方法
		saveTostoresission(state){
			uni.setStorageSync("cart",JSON.stringify(state.cart))
		},
		
		//修改数量的方法
		updateGood_count(state,goods){
			console.log(goods);
		
			const findResult = state.cart.find((item)=>item.goods_id == goods.goods_id);
				// console.log(findResult);
				if(findResult){
					
					findResult.goods_count = goods.newCount;
				}
				//不管是修改了数量还是新增了商品，都会本地持久化
				this.commit("m_cart/saveTostoresission");
					
			
		},
		//删除商品
		deleteGoods(state,good){
			const findResult = state.cart.filter((item)=>item.goods_id != good.goods_id);
			if(findResult){
				state.cart = findResult;
			}
			this.commit("m_cart/saveTostoresission");
			
		},
		//更新所有的商品状态
		updateAllGoods(state,newState){
			state.cart.forEach((item)=>{item.goods_state = newState})
		}
	},
	getters:{
		total(state){
				let c =0;
				state.cart.forEach((item)=>c += item.goods_count)
			
			return c
		}
	}
}